#include <boost/array.hpp>
#include <boost/format.hpp>
#include <iostream>
using namespace std;
using namespace boost;

#define BOOST_ENABLE_ASSERT_HANDLER
#include <boost/assert.hpp>

int main()
{
    array<int, 2> ar = {1, 3};
    return ar[2];
}

namespace boost {
void assertion_failed(char const * expr, char const * function, 
                      char const * file, long line)
{
    boost::format fmt ("Assertion failed!\nExpression: %s\nFunction: %s\nFile: %s\nLine: %ld\n\n");
    fmt % expr % function % file % line;
    cout << fmt;
}
}

